home *** CD-ROM | disk | FTP | other *** search
/ Isometric Game Programming with DirectX 7.0 / Isometric Game Programming.iso / source / chapter13 / isohex13_3 / ddfuncs.h < prev    next >
C/C++ Source or Header  |  2000-05-24  |  4KB  |  119 lines

  1. /*****************************************************************************
  2. DDFuncs.h
  3. Ernest S. Pazera
  4. 21MAY2000
  5. Requires the use of ddraw.lib and dxguid.lib
  6. Also requires GDICanvas.h/cpp
  7. *****************************************************************************/
  8. //include guard
  9. #ifndef DDFUNCS_H
  10. #define DDFUNCS_H
  11.  
  12. #include <windows.h>
  13. #include "ddraw.h"
  14. #include "GDICanvas.h"
  15.  
  16. ///////////////////////////////////////////////////////////////////////////////
  17. //DDSURFACEDESC2 functions
  18. ///////////////////////////////////////////////////////////////////////////////
  19.  
  20. //clean out a DDSD
  21. void DDSD_Clear(DDSURFACEDESC2* pddsd);
  22.  
  23. //set up a DDSD for a primary surface, no back buffer
  24. void DDSD_PrimarySurface(DDSURFACEDESC2* pddsd);
  25.  
  26. //set up a DDSD for a primary surface, with any number of backbuffers
  27. void DDSD_PrimarySurfaceWBackBuffer(DDSURFACEDESC2* pddsd, DWORD dwBackBufferCount);
  28.  
  29. //set up a DDSD for an offscreen surface, specify width and height
  30. void DDSD_OffscreenSurface(DDSURFACEDESC2* pddsd,DWORD dwWidth, DWORD dwHeight);
  31.  
  32. ///////////////////////////////////////////////////////////////////////////////
  33. //DDSCAPS2 functions
  34. ///////////////////////////////////////////////////////////////////////////////
  35.  
  36. //clean out ddscaps
  37. void DDSCAPS_Clear(DDSCAPS2* pddscaps);
  38.  
  39. //set up ddscaps for back buffer
  40. void DDSCAPS_BackBuffer(DDSCAPS2* pddscaps);
  41.  
  42. ///////////////////////////////////////////////////////////////////////////////
  43. //DDBLTFX functions
  44. ///////////////////////////////////////////////////////////////////////////////
  45.  
  46. //clean out a ddbltfx structure
  47. void DDBLTFX_Clear(DDBLTFX* pddbltfx);
  48.  
  49. //set up a ddbltfx for a color fill
  50. void DDBLTFX_ColorFill(DDBLTFX* pddbltfx,DWORD dwColor);
  51.  
  52. ///////////////////////////////////////////////////////////////////////////////
  53. //DDPIXELFORMAT functions
  54. ///////////////////////////////////////////////////////////////////////////////
  55.  
  56. //clean a ddpixelformat structure
  57. void DDPF_Clear(DDPIXELFORMAT* pddpf);
  58.  
  59. ///////////////////////////////////////////////////////////////////////////////
  60. //Direct Draw Initialization/Cleanup functions
  61. ///////////////////////////////////////////////////////////////////////////////
  62.  
  63. //create direct draw interface
  64. LPDIRECTDRAW7 LPDD_Create(HWND hWnd,DWORD dwCoopLevel);
  65.  
  66. //safe release of direct draw
  67. void LPDD_Release(LPDIRECTDRAW7* lplpdd);
  68.  
  69. ///////////////////////////////////////////////////////////////////////////////
  70. //Surface Creation/Cleanup functions
  71. ///////////////////////////////////////////////////////////////////////////////
  72.  
  73. //primary surface
  74. LPDIRECTDRAWSURFACE7 LPDDS_CreatePrimary(LPDIRECTDRAW7 lpdd,DWORD dwBackBufferCount);
  75.  
  76. //back buffer
  77. LPDIRECTDRAWSURFACE7 LPDDS_GetSecondary(LPDIRECTDRAWSURFACE7 lpdds);
  78.  
  79. //offscreen
  80. LPDIRECTDRAWSURFACE7 LPDDS_CreateOffscreen(LPDIRECTDRAW7 lpdd,DWORD dwWidth,DWORD dwHeight);
  81.  
  82. //offscreen with a bitmap from a file
  83. LPDIRECTDRAWSURFACE7 LPDDS_LoadFromFile(LPDIRECTDRAW7 lpdd,LPCTSTR lpszFileName);
  84.  
  85. //reloading a bitmap from file to a surface
  86. void LPDDS_ReloadFromFile(LPDIRECTDRAWSURFACE7 lpdds, LPCTSTR lpszFileName);
  87.  
  88. //safe release
  89. void LPDDS_Release(LPDIRECTDRAWSURFACE7* lplpdds);
  90.  
  91. ///////////////////////////////////////////////////////////////////////////////
  92. //Color Key Setting functions
  93. ///////////////////////////////////////////////////////////////////////////////
  94.  
  95. void LPDDS_SetSrcColorKey(LPDIRECTDRAWSURFACE7 lpdds,DWORD dwColor);
  96.  
  97. ///////////////////////////////////////////////////////////////////////////////
  98. //Color Conversion Functions
  99. ///////////////////////////////////////////////////////////////////////////////
  100.  
  101. //from dd pixel to colorref
  102. COLORREF ConvertDDColor(DWORD dwColor, DDPIXELFORMAT* pddpf);
  103.  
  104. //from colorref to dd pixel
  105. DWORD ConvertColorRef(COLORREF crColor, DDPIXELFORMAT* pddpf);
  106.  
  107. ///////////////////////////////////////////////////////////////////////////////
  108. //Clipper utilities
  109. ///////////////////////////////////////////////////////////////////////////////
  110.  
  111. //create a IDirectDraw7 clipper, and fill it with the information from a region
  112. LPDIRECTDRAWCLIPPER LPDDCLIP_Create(LPDIRECTDRAW7 lpdd, HRGN hrgn);
  113.  
  114. //safe release of an IDirectDrawClipper
  115. void LPDDCLIP_Release(LPDIRECTDRAWCLIPPER* lplpddclip);
  116.  
  117. //include guard
  118. #endif//ndef DDFUNCS_H
  119.